package com.neuedu.corejava.ch4.practise;
////同学发的
public class SortClass {

	public static void main(String[] args) {
		// 给定一个int类型的数组，保存班级同学的年龄，
		// 编写一个算法对年龄进行排序，分别进行升序和降序排序

		int arrAge[] = { 21, 34, 21, 19, 18, 17, 16, 23, 21, 20, 22 };
		bubbleSortAsc(arrAge);   //方法的调用
		printArray(arrAge);      //方法的调用
		bubbleSortDesc(arrAge);  //方法的调用
		printArray(arrAge);      //方法的调用
	}
	//在一个类中可以编写一些方法
	//方法的基本结构：
	//1.public 访问修饰符号      static 静态修饰符号     --可选
	//2.void返回值类型                                                              --必选
	//3.printArray方法名称  					--必选
	//4(int[] arrAge)称参数列表   				--参数变量可选   括号必须有
	//5.{}方法体								--在抽象方法中必须有大括号，抽象方法没有方法体
	public static void printArray(int[] arrAge) {
		for (int arr : arrAge) {
			System.out.print(arr + " ");
		}
	}
	
	//升序
	public static void bubbleSortAsc(int[] arrAge) {
		for (int i = 1; i < arrAge.length; i++) {
			for (int j = 0; j < arrAge.length - i; j++) {
				if (arrAge[j] > arrAge[j + 1]) {
					int t = arrAge[j];
					arrAge[j] = arrAge[j + 1];
					arrAge[j + 1] = t;
				}
			}
		}
	}
	
	//降序
	public static void bubbleSortDesc(int[] arrAge) {
		System.out.println();
		for (int i = 1; i < arrAge.length; i++) {
			for (int j = 0; j < arrAge.length - i; j++) {
				if (arrAge[j] < arrAge[j + 1]) {   //小于号就是降序
					int t = arrAge[j];
					arrAge[j] = arrAge[j + 1];
					arrAge[j + 1] = t;
				}
			}
		}
	}
	
	
	

}
